import request from '@/utils/request'

/**
 * 获取语音列表
 * @param {Object} params 查询参数(type声音类型,searchQuery关键词,current页码,pageSize每页数量)
 * @returns {Promise<Object>} 语音列表数据
 */
export function getVoiceList(params) {
  return request({
    url: '/listening/loadDataList',
    method: 'get',
    params
  })
}

/**
 * 添加新的语音
 * @param {Object} data 语音数据(name名称,type类型,file音频文件)
 * @returns {Promise<Object>} 添加结果
 */
export function addVoice(data) {
  return request({
    url: '/voiceProfiles/cloneVoice',
    method: 'post',
    data,
  })
}

/**
 * 编辑语音信息
 * @param {string} id 语音ID
 * @param {Object} data 更新数据(name名称,type类型,text原文)
 * @returns {Promise<Object>} 更新结果
 */
export function editVoiceData(voiceId, data) {
  return request({
    url: `/voiceProfiles/updateVoiceProfilesById/${voiceId}`,
    method: 'post',
    data
  })
}

/**
 * 删除语音
 * @param {string} id 语音ID
 * @returns {Promise<Object>} 删除结果
 */
export function deleteVoiceData(id) {
  return request({
    url: '/listening/deleteListeningById',
    method: 'get',
    params: { id }
  })
}

export function getCloneStatus(taskId) {
  return request({
    url: `/voiceProfiles/cloneStatus/${taskId}`,
    method: 'get'
  })
}
/**
 * 报告音频播放错误
 * @param {string} id 语音ID
 * @param {Error} error 错误信息
 * @returns {Promise<Object>} 错误报告结果
 */
export function reportError(id, error) {
  return request({
    url: `/voice/report-error/${id}`,
    method: 'post',
    data: { error: error.message }
  })
}
